package com.day15;

/**
 * 多线程的创建,方式一: 继承于Thread类
 * <p>
 * 1.创建一个继承于Thread的子类
 * 2.重写Thread的run方法
 * 3.创建Thread的子类对象
 * 4.通过此对象调用start()方法
 * <p>
 * <p>
 * 例子:遍历100以内的所有的偶数
 */
//1.继承thread类
class MyThread extends Thread {
    //重写run方法
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
        }
    }
}


public class ThreadTest {
    public static void main(String[] args) {
        //3.创建Thread的对象
        MyThread myThread = new MyThread();
        //4.调用start()方法:1.启动当前线程，2.调用当前线程的run()方法
        //问题一.
        myThread.start();
        //只是调用了方法，并没有开启新的线程
//        myThread.run();
        //如下操作仍然是在main()线程中执行的。
        for (int i = 0; i < 100; i++) {
            if (i % 2 != 0) {
                System.out.println("hello");
            }
        }

        //问题二:再启动一个线程，获取全部偶数。不可以还让已经start()的线程去执行。会抛出异常。
//        myThread.start();
//        解决方法
        //重新创建一个对象。
        new MyThread().start();
    }
}
